import request from '@/utils/request'

// form表单查重验证
export function checkLoginNameUnique(userId, loginName) {
  const data = {
    'userId': userId,
    'loginName': loginName
  }
  return request({
    url: '/sys/user/checkLoginNameUnique',
    method: 'post',
    params: data
  })
}

// 加载用户数据(有数据权限)
export function listUser(data) {
  // data = {
  //   'dataObjType': 'SysUser'
  // }
  return request({
    url: '/sys/user/list',
    method: 'post',
    params: data
  })
}

// 查询本公司人员（没有分公司人员 没有数据权限）
export function selectAllCompanyUserNoManagerList(data) {
  return request({
    url: 'sys/user/selectAllCompanyUserNoManagerList',
    method: 'post',
    params: data
  })
}

// 有分公司的用户列表 没有数据权限
export function listAllUser(data) {
  // data = {
  //   'dataObjType': 'SysUser'
  // }
  return request({
    url: 'sys/user/selectAllUserNoManagerList',
    method: 'post',
    params: data
  })
}

// 更新用户信息
export function updateUser(data) {
  return request({
    url: '/sys/user/update',
    method: 'post',
    data,
    headers: { 'content-type': 'application/json' }
  })
}

// 更改用户状态
export function updateUserStatus(data) {
  return request({
    url: '/sys/user/changeStatus',
    method: 'post',
    params: data
  })
}

// 重置用户密码
export function resetPswd(userId) {
  const data = {
    'userId': userId
  }
  return request({
    url: '/sys/user/resetPswd',
    method: 'post',
    params: data
  })
}
// 添加用户信息
export function addUser(data) {
  return request({
    url: '/sys/user/add',
    method: 'post',
    data,
    headers: { 'content-type': 'application/json' }
  })
}

// 删除用户
export function delUser(ids) {
  const data = {
    ids: ids
  }
  return request({
    url: '/sys/user/updateDeptId',
    method: 'post',
    params: data
  })
}

// 根据id查找内容
export function getUserByUserId(id) {
  return request({
    url: '/sys/user/get/' + id,
    method: 'get'
  })
}

// 邮箱查重验证
export function checkEmailUnique(userId, email) {
  const data = {
    'userId': userId,
    'email': email
  }
  return request({
    url: '/sys/user/checkEmailUnique',
    method: 'post',
    params: data
  })
}

// 电话查重验证
export function checkPhoneUnique(userId, phone) {
  const data = {
    'userId': userId,
    'phonenumber': phone
  }
  return request({
    url: '/sys/user/checkPhoneUnique',
    method: 'post',
    params: data
  })
}

/** 用户分配数据权限 start */

// 根据用户id查询菜单树

export function selectMenuIdByUserId(userId) {
  return request({
    url: '/sys/user/getMenuPermissionByUserId/' + userId,
    method: 'get'
  })
}

// 根据用户id查找选中了那些菜单和默认数据权限
export function getSelectedIdAndDefaultPermissionsByUserId(userId) {
  return request({
    url: 'sys/user/getSelectedIdAndDefaultPermissionsByUserId/' + userId,
    method: 'get'
  })
}

// 根据用户id查找默认数据权限
export function getDefaultPermissionsByUserId(userId) {
  return request({
    url: 'sys/user/getDefaultPermissionsByUserId/' + userId,
    method: 'get'
  })
}

// 保存用户选择的菜单和数据权限
export function addOrupdateUserMenuAndDataScope(data) {
  return request({
    url: 'sys/user/userMenuAndDataScope',
    method: 'post',
    data,
    headers: { 'content-type': 'application/json' }
  })
}

// 下载模板
export function getExcelTemplate() {
  return request({
    url: '/sys/user/getExcelTemplate',
    method: 'get'
  })
}
// 用户导出
export function userExport(data) {
  return request({
    url: '/sys/user/export',
    method: 'post',
    params: data
  })
}

// 查询用户的部门
export function userPartDept(userId) {
  const data = {
    'userId': userId
  }
  return request({
    url: '/sys/user/listAndUserPartDept',
    method: 'post',
    params: data
  })
}

// 人员离职
export function updateQuitStatus(params) {
  return request({
    url: '/sys/sysAccountUserApi/accountUserDimission',
    method: 'post',
    params
  })
}
